package com.jboltai.capability.vdb.search;


/**
 * 搜索一致性策略
 */
public enum ConsistencyLevel {

    /**
     * 强一致性，查询节点会等到所有数据都能看到最新的系统时间戳后，再处理搜索或查询请求，它确保用户可以读取最新版本的数据。
     */
    STRONG,

    /**
     * 最终一致性。没有保证的读取和写入顺序，如果不再执行写入操作，副本最终会收敛到相同的状态。在“最终”的一致性下，副本开始处理具有最新更新值的读取请求。最适合对数据一致性要求不高但需要极快搜索性能的场景。
     */
    EVENTUAL,

    /**
     * 默认使用的一致性策略，不同数据库策略不一样。<br/>
     * 腾讯向量数据库，DEFAULT对应EVENTUAL，最终一致性。<br/>
     * Milvus向量数据库，DEFAULT对应RDOUND，允许在特定时间段内出现数据不一致。但是，通常，在这段时间内，数据始终是全局一致的,适用于需要控制搜索时延，可以接受零星数据不可见的场景。。<br/>
     *
     */
    DEFAULT,

}
